part of '../repository.dart';

const _kTransactionIdKey = 'id';
const _kTransactionTimeKey = 'time';
const _kTransactionTypeKey = 'type';
const _kTransactionAppStoreUserIdKey = 'app_store_user_id';
const _kTransactionOriginalTransactionIdKey = 'original_transaction_id';
const _kTransactionPurchaseItemSkuKey = 'purchase_item_sku';
const _kTransactionOfferTypeKey = 'offer_type';
const _kTransactionOwnershipTypeKey = 'ownership_type';
const _kTransactionTestKey = 'test';
const _kTransactionRevocationInfoKey = 'revocation_info';

abstract class _TransactionDto {
  String get id;

  _TimeDto get timeDto;

  String get type;

  String get appStoreUserId;

  String get originalTransactionId;

  String get purchaseItemSku;

  _TransactionOfferTypeDto get offerTypeDto;

  _TransactionOwnershipTypeDto get ownershipTypeDto;

  bool get test;

  _TransactionRevocationInfoDto? get revocationInfoDto;

  Map<String, dynamic> toJson();

  AppStoreTransaction toEntity();
}
